﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum СостоянияПотомковЭлектронныхПисем
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"e9d845e7-0227-4d1c-a4ef-f8bc0102dbd5\", \"Представление\":\"ОтветСохранен\"}")]
		ОтветСохранен = 0,//Ответ сохранен
		[EnumMember(Value = "{\"Ссылка\":\"6cfcc943-3626-42e3-b6b2-d045c7c902f9\", \"Представление\":\"ОтветОтправлен\"}")]
		ОтветОтправлен = 1,//Ответ отправлен
		[EnumMember(Value = "{\"Ссылка\":\"fecd9a98-351a-4d8b-8f04-d74314bc0c37\", \"Представление\":\"ПереадресацияСохранена\"}")]
		ПереадресацияСохранена = 2,//Переадресация сохранена
		[EnumMember(Value = "{\"Ссылка\":\"52ffc170-9b3d-4222-bd88-1e495ac03c2b\", \"Представление\":\"ПереадресацияОтправлена\"}")]
		ПереадресацияОтправлена = 3,//Переадресация отправлена
	}
	public static partial class СостоянияПотомковЭлектронныхПисем_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ОтветСохранен = new Guid("bcf8efa4-0201-d5db-4d1c-0227e9d845e7");//Ответ сохранен
		public static readonly Guid ОтветОтправлен = new Guid("45d0b2b6-c9c7-f902-42e3-36266cfcc943");//Ответ отправлен
		public static readonly Guid ПереадресацияСохранена = new Guid("43d7048f-bc14-370c-4d8b-351afecd9a98");//Переадресация сохранена
		public static readonly Guid ПереадресацияОтправлена = new Guid("491e88bd-c05a-2b3c-4222-9b3d52ffc170");//Переадресация отправлена
		public static СостоянияПотомковЭлектронныхПисем Получить(this СостоянияПотомковЭлектронныхПисем Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static СостоянияПотомковЭлектронныхПисем Получить(this СостоянияПотомковЭлектронныхПисем Значение, Guid Ссылка)
		{
			if(Ссылка == ОтветСохранен)
			{
				return СостоянияПотомковЭлектронныхПисем.ОтветСохранен;
			}
			else if(Ссылка == ОтветОтправлен)
			{
				return СостоянияПотомковЭлектронныхПисем.ОтветОтправлен;
			}
			else if(Ссылка == ПереадресацияСохранена)
			{
				return СостоянияПотомковЭлектронныхПисем.ПереадресацияСохранена;
			}
			else if(Ссылка == ПереадресацияОтправлена)
			{
				return СостоянияПотомковЭлектронныхПисем.ПереадресацияОтправлена;
			}
			return СостоянияПотомковЭлектронныхПисем.ПустаяСсылка;
		}
		public static byte[] Ключ(this СостоянияПотомковЭлектронныхПисем Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this СостоянияПотомковЭлектронныхПисем Значение)
		{
			switch (Значение)
			{
				case СостоянияПотомковЭлектронныхПисем.ОтветСохранен: return ОтветСохранен;
				case СостоянияПотомковЭлектронныхПисем.ОтветОтправлен: return ОтветОтправлен;
				case СостоянияПотомковЭлектронныхПисем.ПереадресацияСохранена: return ПереадресацияСохранена;
				case СостоянияПотомковЭлектронныхПисем.ПереадресацияОтправлена: return ПереадресацияОтправлена;
			}
			return Guid.Empty;
		}
	}
}